---
id: getting-started
title: Getting Started
description: A performant, easy to use hold to open context menu for React Native powered by Reanimated. 🔥
hide_title: true
slug: /
hide_table_of_contents: true
---

# React Native Hold Menu

A performant, easy to use hold to open context menu for React Native powered by Reanimated.

[![Reanimated v2 version](https://img.shields.io/github/package-json/v/enesozturk/react-native-hold-menu/develop?label=Reanimated%20v2&style=flat-square)](https://www.npmjs.com/package/react-native-hold-menu) [![npm](https://img.shields.io/npm/l/react-native-hold-menu?style=flat-square)](https://www.npmjs.com/package/react-native-hold-menu) [![npm](https://img.shields.io/badge/types-included-blue?style=flat-square)](https://www.npmjs.com/package/react-native-hold-menu) [![runs with expo](https://img.shields.io/badge/Runs%20with%20Expo-4630EB.svg?style=flat-square&logo=EXPO&labelColor=f3f3f3&logoColor=000)](https://expo.io/)

import useBaseUrl from '@docusaurus/useBaseUrl';
import { Video } from '../components/video';

<Video
  title="React Native Bottom Sheet"
  url={useBaseUrl('video/hold-menu-preview.mp4')}
/>

## Features

- Powered with Reanimated v2. 🚀
- Smooth interactions & animations.
- Supports dark/light Mode. 🌚 🌝
- Supports device orientation change.
- Compatible with Expo.
- Written in `TypeScript`.

## Installation

> This library currently written with Reanimated v2. If you use Reanimated v1 in your application, you may need waiting for next version of the Hold Menu. It is in my todo list.

```cmd
yarn add react-native-hold-menu
```

#### Dependencies

This library needs these dependencies to be installed in your project before you can use it:

```bash
yarn add react-native-reanimated@2.1.0 react-native-gesture-handler react-native-unimodules expo-blur expo-haptics
```

:::info
**React Native Gesture Handler** needs extra steps to finalize its installation, please follow their [installation instructions](https://github.com/software-mansion/react-native-gesture-handler).

**React Native Reanimated v2** needs extra steps to finalize its installation, please follow their [installation instructions](https://docs.swmansion.com/react-native-reanimated/docs).

**React Native Unimodules** needs extra steps to finalize its installation, please follow their [installation instructions](https://docs.expo.io/bare/installing-unimodules/). And make sure you excluded unwanted modules in your app. You can check the [exampale project](https://github.com/enesozturk/react-native-hold-menu/tree/main/example).
:::

## Todo

- Support for Reanimated v1
- Support for Animated

## Contributors

- [Mo Gorhom](https://twitter.com/gorhom)
